package pe.com.cotelasa.scp.controlador.converter;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
import javax.inject.Inject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import pe.com.cotelasa.scp.dominio.service.IServicioOrdenPedido;
import pe.com.cotelasa.scp.entidad.OrdenPedido;
import pe.com.cotelasa.seguridad.controlador.backingBean.BKSession;

/**
 * @author zer0
 */
@FacesConverter(value = "ordenPedidoConverter")
@Component("ordenPedidoConverter")
@Scope("request")
public class OrdenPedidoConverter implements Converter {

    @Inject
    private IServicioOrdenPedido servicioOrdenPedido;
    @Autowired
    BKSession session;
    
    @Override
    public Object getAsObject(FacesContext fc, UIComponent uic, String codigoOrdenPedido) {

        try {
            OrdenPedido ordenP = new OrdenPedido();
            ordenP.setIdEmpresa(session.getEmpresa());
            ordenP.setCodigoOrdenPedido(codigoOrdenPedido);
            return servicioOrdenPedido.obtenerOrdenPedidoPorCodigo(ordenP);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }

    }

    @Override
    public String getAsString(FacesContext fc, UIComponent uic, Object o) {

        if (o == null || o.equals("")) {  
            return "";  
        }else{
            return String.valueOf(((OrdenPedido) o).getCodigoOrdenPedido()); 
        }
    }
}
